Microcontrollers are well known in the art and comprise a microprocessor and associated control logic, memory as well as a plurality of peripheral devices within a single chip. For a microcontroller application, it is usually desired to have all registers controlling various parts of the device in the device reset to a known state on any kind of reset. This puts the device into a known starting state. A microcontroller differentiates between different types of reset events, such as power-on-reset (POR), brown-out-reset (BOR), memory-clear-reset (MCLR), software Reset, watchdog-timer-reset (WDT), etc.
The different type of resets fall generally into two categories, a hard and soft reset. A peripheral device would be required to stop operation during a hard reset whereas it could continue operation during a soft reset. Examples of hard reset events include POR or BOR events (voltage failure) where it would not be possible for the peripheral to continue operation. During soft reset events, conditions exist that could allow the peripheral to remain operational, for example, when the power supply is fully functional and within parameters, the clock is operating, etc.
As stated above, a microcontroller may comprise a plurality of different peripheral devices within a single chip. These devices will also be reset into a known state upon occurrence of any of the above mentioned hard or soft reset events. For example, a peripheral device may be a digital-to-analog-converter (DAC) peripheral, which may be used to supply a voltage reference to a circuit outside of the microcontroller. If a soft-reset occurs, this peripheral would be reset as well and therefore the function of the circuit outside of the microcontroller would be disabled.